*{box-sizing: border-box;margin: 0;padding: 0;}
*::before,*::after{box-sizing: border-box;}

body{
    background: #ffe600;
    min-height: 100vh;
}
.skin{
    position: relative;
}
.nose{
    border: 10px solid black;
    border-color: black transparent transparent;
    border-bottom: none;
    width: 0px;
    height: 0px;
    position: relative;
    left: 50%;
    top: 38vh;
    margin-left: -10px;
    z-index: 10;
}
@keyframes wave{

 0%{
    transform: rotate(0deg);
 }
 33%{
    transform: rotate(5deg);
 }
 66%{
    transform: rotate(-5deg);
 }
 100%{
    transform: rotate(0deg);
 }
}
.nose:hover{
    transform-origin: center bottom;
    animation: wave 300ms infinite linear;
}
.yuan{
    position:absolute;
    width: 20PX;
    height: 6px;
    top: -16px;
    left: -10px;
    border-radius: 14px 14px 0 0;
    background: black;
}
.eye{
    border:2px solid #000;
    width: 64px;
    height: 64px;
    position: absolute;
    left:50% ;
    top: 30vh;
    margin-left: -32px;
    background: #2e2e2e;
    border-radius: 50%;
    z-index: 5;
}
.eye::before{
    content: '';
    display: block;
    border:0px solid black;
    width: 25px;
    height: 25px;
    background: #fff;
    border-radius: 50%;
    position: relative;
    left: 8px;
    top: 3px;
}
.eye.left{
    transform: translateX(-100px);
}
.eye.right{
    transform: translateX(100px);
}
.mouth{
    width: 180px;
    height: 180px;
    position: absolute;
    left: 50%;
    top: 40vh;
    margin-left: -90px;
}
.mouth .up{
    position: relative;
    top: -10px;
    z-index: 1;
}
.mouth .up .lip{
    border:4px solid black;
    height: 25px;
    width: 102px;
    top:0vh;
    background: #ffe600;
    border-top-color: transparent;
    border-right-color: transparent;
    position: absolute;
    left: 50%;
    margin-left: -51px;
    border-top: none;
    border-right: none;
    border-left: none;
}
.mouth .up .lip.left{
    border-radius: 0 0 0 50px;
    transform: rotate(-20deg)translateX(-54px);
}
.mouth .up .lip.right{
    border-radius: 0 0 50px 0;
    transform: rotate(20deg)translateX(54px);
}
.mouth .up .lip::before{
    content: '';
    display: block;
    width: 10px;
    height: 30px;
    position: absolute;
    bottom: 0;
    background: #ffe600;
}
.mouth .up .lip.left::before{
    right: -6px;
}
.mouth .up .lip.right::before{
    left: -6px;
}
.mouth .down{
    height: 160px;
    position: absolute;
    top: 15px;
    width: 100%;
    overflow: hidden;
}
.mouth .down .yuan1{
    border: 3px solid black;
    width: 160px;
    height: 800px;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -80px;
    border-radius:100px/450px;
    background: #9b000a;
    overflow: hidden;
}
.mouth .down .yuan1 .yuan2{
    width: 200px;
    height: 275px;
    background: #ff485f;
    position: absolute;
    bottom: -150px;
    left: 50%;
    margin-left: -100px;
    border-radius: 100px;
}
.face {
    position: absolute;
    left: 50%;
    border: 3px solid black;
    width: 88px;
    height: 88px;
    top: 40vh;
    margin-left: -44px;
    z-index: 3;
}
.face> img{
    position: absolute;
    top:50%;
    left:50%;
}
.face.left{
    transform: translateX(-180px);
    background: #ff0000;
    border-radius: 50px;
}
.face.left> img{
    transform: rotateY(180deg);
    transform-origin: 0 0;
}
.face.right{
    transform: translateX(180px);
    background: #ff0000;
    border-radius: 50px;
}